/**
  * Copyright 2021 bejson.com 
  */
package com.ler.yrmall.product.form;

import com.ler.yrmall.basic.Form;
import com.ler.yrmall.product.entity.SkuEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.List;

/**
 * @author leron
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class SpuForm extends Form {

    /**
     * id
     */
    private Long id;

    /**
     * 名称/标题
     */
    private String name;

    /**
     * 分类
     */
    private Long categoryId;

    /**
     * 品牌
     */
    private Long brandId;

    /**
     * 重量
     */
    private BigDecimal weight;

    /**
     * 排序
     */
    private Integer sort;

    /**
     * 状态
     * @see com.ler.yrmall.enums.BasicStatusEnum.SystemEnableStatus
     */
    private Integer status;

    /**
     * 详情
     */
    private String detail;

    /**
     * 图片
     */
    private List<String> images;

    /**
     * 基础属性
     */
    private List<BaseAttrs> baseAttrs;

    /**
     * sku 列表
     */
    private List<Sku> skus;

    /**
     * 是否重新生成 sku
     */
    private Boolean regenerateSku;


    @Data
    public static class Attr {

        private Long id;

        /**
         * attrName
         */
        private String attrName;

        /**
         * attrValue
         */
        private String attrValue;

    }

    @Data
    public static class BaseAttrs {

        private Long id;

        /**
         * 可选值
         */
        private List<String> attrValues;


        private Integer quickShow;

    }

    @Data
    @EqualsAndHashCode(callSuper = true)
    public static class Sku extends SkuEntity {

        /**
         * sku 属性列表
         */
        public List<Attr> attrs;

    }

}